In a contact center, tasks are specific operations that are performed by a work assignment engine. Examples of tasks that are often performed by a work assignment engine include, without limitation, score work, score resource, qualify work, qualify resource, match work and resource, queue, de-queue, remove, etc.
During work assignment in a contact center, the work assignment engine is currently designed to consider either a work's assignment strategy or a resource's assignment strategy. Some times the work's assignment strategy aligns or cooperates with a resource's assignment strategy whereas other times the two strategies may conflict with one another, and the conflict may be partial or total. Unfortunately, if the work assignment engine is only capable of considering one of the two strategies, the work assignment engine may assign work to a resource, or vice versa, which violates the assignment strategy that was not considered.
Consider the following example. Work enters a contact center with a first strategy (e.g., a work-finding-agent strategy) and the first strategy defines that the work should be assigned to an agent located in the United States. Meanwhile, an agent in India becomes available and the newly-available agent has a second strategy (e.g., an agent-finding-work strategy). Consider further that the second strategy (e.g., the agent-finding-work strategy) defines that the agent should be assigned to the next available piece of work having a technical question of a particular nature. If the work having the first strategy satisfies the second strategy and the work assignment engine only considers the second strategy, then the work will be assigned to the agent in India even though the first strategy (e.g., the work-finding-agent strategy) indicated that such an assignment should not occur.
In the past, the concept of queues would effectively deal with this problem. Specifically, if a queue did not exist to accommodate a particular strategy, then a new queue would be created. This queuing inherently limits the available resources that can service the queue. Multi-queuing a contact expands the pool of available resources, but removes control of who gets the work, thereby increasing the likelihood that the work will be assigned to a resource in contradiction to a work-finding-agent strategy. The current solutions hide the problem as they are too restrictive. More problematic, is that reliance on queues to solve the above problem causes the contact center to become over populated with queues, which can significantly increase customer wait time to unacceptable levels, thereby reducing customer satisfaction. Furthermore, as queueless contact centers continue to develop and gain acceptance in the marketplace, the work assignment engine can no longer rely on the inherent control obtained through the use of queues.